System and method for generating a drive signal

ABSTRACT

A method and computer program product for defining a PWM drive signal having a defined voltage potential. The PWM drive signal has a plurality of “on” portions and a plurality of “off” portions that define a first duty cycle for regulating, at least in part, a flow rate of a pump assembly. At least a portion of the “on” portions of the PWM drive signal are pulse width modulated to define a second duty cycle for the at least a portion of the “on” portions of the PWM drive signal. The second duty cycle regulates, at least in part, the percentage of the defined voltage potential applied to the pump assembly.

CROSS-REFERENCE TO RELATED APPLICATION

The application is a continuation-in-part of application Ser. No.11/276,548 filed Mar. 6, 2006, which is herein incorporated by referencein its entirety.

TECHNICAL FIELD

This disclosure relates to dispensing machines and, more particularly,to food product dispensing machines.

BACKGROUND

Beverage dispensing machines typically combine one or more concentratedsyrups (e.g. cola flavoring and a sweetener) with water (e.g.,carbonated or non-carbonated water) to form a soft drink. Unfortunately,the variety of soft drinks offered by a particular beverage dispensingmachine may be limited by the internal plumbing in the machine, which isoften hard-plumbed and therefore non-configurable.

Accordingly, a typical beverage dispensing machine may include acontainer of concentrated cola syrup, a container of concentratedlemon-lime syrup, a container of concentrated root beer syrup, a waterinlet (i.e. for attaching to a municipal water supply), and a carbonator(e.g. for converting noncarbonated municipal water into carbonatedwater).

Unfortunately, such beverage dispensing machines offer little in termsof product variety/customization. Additionally as the internal plumbingon such beverage dispensing machines is often hard-plumbed and theinternal electronics are often hardwired, the ability of such beveragedispensing machines to offer a high level of variety/customizationconcerning beverage choices is often compromised.

SUMMARY OF DISCLOSURE

In a first implementation, a method includes defining a PWM drive signalhaving a defined voltage potential. The PWM drive signal has a pluralityof “on” portions and a plurality of “off” portions that define a firstduty cycle for regulating, at least in part, a flow rate of a pumpassembly. At least a portion of the “on” portions of the PWM drivesignal are pulse width modulated to define a second duty cycle for theat least a portion of the “on” portions of the PWM drive signal. Thesecond duty cycle regulates, at least in part, the percentage of thedefined voltage potential applied to the pump assembly.

One or more of the following features may be included. The pump assemblymay be a solenoid piston pump. The pump assembly may be configured foruse within a beverage dispensing system.

The pump assembly may be configured to releasably engage a productcontainer. The pump assembly may be rigidly attached to a product moduleassembly. The defined voltage potential may be 28 VDC.

At least one of the “on” portions of the PWM drive signal may have aduration of approximately 15 milliseconds. At least one of the “off”portions of the PWM drive signal may have a duration within a range of15-185 milliseconds. The second duty cycle may be within a range of50-100%.

In another implementation, a computer program product resides on acomputer readable medium that has a plurality of instructions stored onit. When executed by a processor, the instructions cause the processorto perform operations including defining a PWM drive signal having adefined voltage potential. The PWM drive signal has a plurality of “on”portions and a plurality of “off” portions that define a first dutycycle for regulating, at least in part, a flow rate of a pump assembly.At least a portion of the “on” portions of the PWM drive signal arepulse width modulated to define a second duty cycle for the at least aportion of the “on” portions of the PWM drive signal. The second dutycycle regulates, at least in part, the percentage of the defined voltagepotential applied to the pump assembly.

One or more of the following features may be included. The pump assemblymay be a solenoid piston pump. The pump assembly may be configured foruse within a beverage dispensing system.

At least one of the “on” portions of the PWM drive signal may have aduration of approximately 15 milliseconds. At least one of the “off”portions of the PWM drive signal may have a duration within a range of15-185 milliseconds. The second duty cycle may be within a range of50-100%.

In another implementation, a method includes defining a PWM drive signalhaving a defined voltage potential. The PWM drive signal has a pluralityof “on” portions and a plurality of “off” portions that define a firstduty cycle for regulating, at least in part, a flow rate of a pumpassembly included within a beverage dispensing system. At least aportion of the “on” portions of the PWM drive signal are pulse widthmodulated to define a second duty cycle for the at least a portion ofthe “on” portions of the PWM drive signal. The second duty cycleregulates, at least in part, the percentage of the defined voltagepotential applied to the pump assembly.

One or more of the following features may be included. The pump assemblymay be a solenoid piston pump. The pump assembly may be configured toreleasably engage a product container. The pump assembly may be rigidlyattached to a product module assembly. At least one of the “on” portionsof the PWM drive signal may have a duration of approximately 15milliseconds. At least one of the “off” portions of the PWM drive signalmay have a duration within a range of 15-185 milliseconds. The secondduty cycle may be within a range of 50-100%.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features andadvantages will become apparent from the description, the drawings andthe claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagrammatic view of a beverage dispensing system;

FIG. 2 is a diagrammatic view of a control logic subsystem includedwithin the beverage dispensing system of FIG. 1;

FIG. 3 is a diagrammatic view of a high volume ingredient subsystemincluded within the beverage dispensing system of FIG. 1;

FIG. 4A is a diagrammatic view of a micro ingredient subsystem includedwithin the beverage dispensing system of FIG. 1;

FIG. 4B is a flowchart of a process executed by the control logicsubsystem of FIG. 2;

FIG. 4C is a diagrammatic view of a drive signal as applied to a pumpassembly included within the micro ingredient subsystem of FIG. 4A;

FIG. 5 is a diagrammatic view of a plumbing/control subsystem includedwithin the beverage dispensing system of FIG. 1; and

FIG. 6 is a diagrammatic view of a user interface subsystem includedwithin the beverage dispensing system of FIG. 1.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Referring to FIG. 1, there is shown a generalized-view of beveragedispensing system 10 that is shown to include a plurality of subsystemsnamely: storage subsystem 12, control logic subsystem 14, high volumeingredient subsystem 16, micro-ingredient subsystem 18, plumbing/controlsubsystem 20, user interface subsystem 22, and nozzle 24. Each of theabove describes subsystems 12, 14, 16, 18, 20, 22 will be describedbelow in greater detail.

During use of beverage dispensing system 10, user 26 may select aparticular beverage 28 for dispensing (into container 30) using userinterface subsystem 22. Via user interface subsystem 22, user 26 mayselect one or more options for inclusion within such beverage. Forexample, options may include but are not limited to the addition of oneor more flavorings (e.g. lemon flavoring, lime flavoring, chocolateflavoring, and vanilla flavoring) into a beverage; the addition of oneor more nutraceuticals (e.g. Vitamin A, Vitamin C, Vitamin D, Vitamin E,Vitamin B₆, Vitamin B₁₂, and Zinc) into a beverage; the addition of oneor more other beverages (e.g. coffee, milk, lemonade, and iced tea) intoa beverage; and the addition of one or more food products (e.g. icecream) into a beverage.

Once user 26 makes the appropriate selections, via user interfacesubsystem 22, user interface subsystem 22 may send the appropriate datasignals (via data bus 32) to control logic subsystem 14. Control logicsubsystem 14 may process these data signals and may retrieve (via databus 34) one or more recipes chosen from plurality of recipes 36maintained on storage subsystem 12. Upon retrieving the recipe(s) fromstorage subsystem 12, control logic subsystem 14 may process therecipe(s) and provide the appropriate control signals (via data bus 38)to e.g. high volume ingredient subsystem 16 micro-ingredient subsystem18 and plumbing/control subsystem 20, resulting in the production ofbeverage 28 (which is dispensed into container 30).

Referring also to FIG. 2, a diagrammatic view of control logic subsystem14 is shown. Control logic subsystem 14 may include microprocessor 100(e.g., an ARM™ microprocessor produced by Intel Corporation of SantaClara, Calif.), nonvolatile memory (e.g. read only memory 102), andvolatile memory (e.g. random access memory 104); each of which may beinterconnected via one or more data/system buses 106, 108. As discussedabove, user interface subsystem 22 may be coupled to control logicsubsystem 14 via data bus 32.

Control logic subsystem 14 may also include an audio subsystem 110 forproviding e.g. an analog audio signal to speaker 112, which may beincorporated into beverage dispensing system 10. Audio subsystem 110 maybe coupled to microprocessor 100 via data/system bus 114.

Control logic subsystem 14 may execute an operating system, examples ofwhich may include but are not limited to Microsoft Windows CE™, RedhatLinux™, Palm OS™, or a device-specific (i.e., custom) operating system.

The instruction sets and subroutines of the above-described operatingsystem, which may be stored on storage subsystem 12, may be executed byone or more processors (e.g. microprocessor 100) and one or more memoryarchitectures (e.g. read-only memory 102 and/or random access memory104) incorporated into control logic subsystem 14.

Storage subsystem 12 may include, for example, a hard disk drive, anoptical drive, a random access memory (RAM), a read-only memory (ROM), aCF (i.e., compact flash) card, an SD (i.e., secure digital) card, aSmartMedia card, a Memory Stick, and a MultiMedia card, for example.

As discussed above, storage subsystem 12 may be coupled to control logicsubsystem 14 via data bus 34. Control logic subsystem 14 may alsoinclude storage controller 116 (shown in phantom) for converting signalsprovided by microprocessor 100 into a format usable by storage system12. Further, storage controller 116 may convert signals provided bystorage subsystem 12 into a format usable by microprocessor 100.

As discussed above, high-volume ingredient subsystem 16,micro-ingredient subsystem 18 and/or plumbing/control subsystem 20 maybe coupled to control logic subsystem 14 via data bus 38. Control logicsubsystem 14 may include bus interface 118 (shown in phantom) forconverting signals provided by microprocessor 100 into a format usableby high-volume ingredient subsystem 16, micro-ingredient subsystem 18and/or plumbing/control subsystem 20. Further, bus interface 118 mayconvert signals provided by high-volume ingredient subsystem 16,micro-ingredient subsystem 18 and/or plumbing/control subsystem 20 intoa format usable by microprocessor 100.

As will be discussed below in greater detail, control logic subsystem 14may execute one or more control processes 120 that may control theoperation of beverage dispensing system 10. The instruction sets andsubroutines of control processes 120, which may be stored on storagesubsystem 12, may be executed by one or more processors (e.g.microprocessor 100) and one or more memory architectures (e.g. read-onlymemory 102 and/or random access memory 104) incorporated into controllogic subsystem 14.

Referring also to FIG. 3, a diagrammatic view of high-volume ingredientsubsystem 16 and plumbing/control subsystem 20 are shown. High-volumeingredient subsystem 16 may include containers for housing consumablesthat are used at a rapid rate when making beverage 28. For example,high-volume ingredient subsystem 16 may include carbon dioxide supply150, water supply 152, and high fructose corn syrup supply 154. Anexample of carbon dioxide supply 150 may include but is not limited to atank (not shown) of compressed, gaseous carbon dioxide. An example ofwater supply 152 may include but is not limited to a municipal watersupply (not shown). An example of high fructose corn syrup supply 154may include but is not limited to a tank (not shown) ofhighly-concentrated, high fructose corn syrup.

High-volume, ingredient subsystem 16 may include a carbonator 156 forgenerating carbonated water from carbon dioxide gas (provided by carbondioxide supply 150) and water (provided by water supply 152). Carbonatedwater 158, water 160 and high fructose corn syrup 162 may be provided tocold plate assembly 164. Cold plate assembly 164 may be designed tochill carbonated water 158, water 160, and high fructose corn syrup 162down to a desired serving temperature (e.g. 40° F.).

While a single cold plate 164 is shown to chill carbonated water 158,water 160, and high fructose corn syrup 162, this is for illustrativepurposes only and is not intended to be a limitation of disclosure, asother configurations are possible. For example, an individual cold platemay be used to chill each of carbonated water 158, water 160 and highfructose corn syrup 162. Once chilled, chilled carbonated water 164,chilled water 166, and chilled high fructose corn syrup 168 may beprovided to plumbing/control subsystem 20.

For illustrative purposes, plumbing/control subsystem 20 is shown toinclude three flow measuring devices 170, 172, 174, which measure thevolume of chilled carbonated water 164, chilled water 166 and chilledhigh fructose corn syrup 168 (respectively). Flow measuring devices 170,172, 174 may provide feedback signals 176, 178, 180 (respectively) tofeedback controller systems 182, 184, 186 (respectively).

Feedback controller systems 182, 184, 186 (which will be discussed belowin greater detail) may compare flow feedback signals 176, 178, 180 tothe desired flow volume (as defined for each of chilled carbonated water164, chilled water 166 and chilled high fructose corn syrup 168;respectively). Upon processing flow feedback signals 176, 178, 180,feedback controller systems 182, 184, 186 (respectively) may generateflow control signals 188, 190, 192 (respectively) that may be providedto variable line impedances 194, 196, 198 (respectively). Examples ofvariable line impedance 194, 196, 198 are disclosed and claimed in U.S.Pat. No. 5,755,683 (Attached hereto as Appendix A), U.S. patentapplication Ser. No. 11/559,792 (Attached hereto as Appendix B) and U.S.patent application Ser. No. 11/851,276 (Attached hereto as Appendix C).Variable line impedances 194, 196, 198 may regulate the flow of chilledcarbonated water 164, chilled water 166 and chilled high fructose cornsyrup 168 passing through lines 206, 208, 210 (respectively), which areprovided to nozzle 24 and (subsequently) container 30.

Lines 206, 208, 210 may additionally include solenoid valves 200, 202,204 (respectively) for preventing the flow of fluid through lines 206,208, 210 during times when fluid flow is not desired/required (e.g.during shipping, maintenance procedures, and downtime).

As discussed above, FIG. 3 merely provides an illustrative view ofplumbing/control subsystem 20. Accordingly, the manner in whichplumbing/control subsystem 20 is illustrated is not intended to be alimitation of this disclosure, as other configurations are possible. Forexample, some or all of the functionality of feedback controller systems182, 184, 186 may be incorporated into control logic subsystem 14.

Referring also to FIG. 4A, a diagrammatic top-view of micro-ingredientsubsystem 18 and plumbing/control subsystem 20 is shown.Micro-ingredient subsystem 18 may include product module assembly 250,which may be configured to releasably engage one or more productcontainers 252, 254, 256, 258, which may be configured to holdmicro-ingredients for use when making beverage 28. Examples of suchmicro-ingredients may include but are not limited to a first portion ofa cola syrup, a second portion of a cola syrup, a root beer syrup, andan iced tea syrup.

Product module assembly 250 may include a plurality of slot assemblies260, 262, 264, 266 configured to releasably engage plurality of productcontainers 252, 254, 256, 258. In this particular example, productmodule assembly 250 is shown to include four slot assemblies (namelyslots 260, 262, 264, 266) and, therefore, may be referred to as a quadproduct module assembly. When positioning one or more of productcontainers 252, 254, 256, 258 within product module assembly 250, aproduct container (e.g. product container 254) may be slid into a slotassembly (e.g. slot assembly 262) in the direction of arrow 268.

For illustrative purposes, each slot assembly of product module assembly250 is shown to include a pump assembly. For example, slot assembly 252shown to include pump assembly 270; slot assembly 262 shown to includepump assembly 272; slot assembly 264 is shown to include pump assembly274; and slot assembly 266 is shown to include pump assembly 276.

Each of pump assemblies 270, 272, 274, 276 may include an inlet port forreleasably engaging a product orifice included within the productcontainer. For example, pump assembly 272 a shown to include inlet port278 that is configured to releasably engage container orifice 280included within product container 254. Inlet port 278 and/or productorifice 280 may include one or more O-ring assemblies (not shown) tofacilitate a leakproof seal.

An example of one or more of pump assembly 270, 272, 274, 276 mayinclude but is not limited to a solenoid piston pump assembly thatprovides a defined and consistent amount of fluid each time that one ormore of pump assemblies 270, 272, 274, 276 are energized. Such pumps areavailable from ULKA Costruzioni Elettromeccaniche S.p.A. of Pavia,Italy. For example, each time a pump assembly (e.g. pump assembly 274)is energized by control logic subsystem 14 via data bus 38, the pumpassembly may provide 1.00 mL of the root beer syrup included withinproduct container 256.

Other examples of pump assemblies 270, 272, 274, 276 and various pumpingtechniques are described in U.S. Pat. No. 4,808,161 (Attached hereto asAppendix D); U.S. Pat. No. 4,826,482 (Attached hereto as Appendix E);U.S. Pat. No. 4,976,162 (Attached hereto as Appendix F); U.S. Pat. No.5,088,515 (Attached hereto as Appendix G); and U.S. Pat. No. 5,350,357(Attached hereto as Appendix H).

Product module assembly 250 may be configured to releasably engagebracket assembly 282. Bracket assembly 282 may be a portion of (andrigidly fixed within) beverage dispensing system 10. An example ofbracket assembly 282 may include but is not limited to a shelf withinbeverage dispensing system 10 that is configured to releasably engageproduct module 250. For example, product module 250 may include aengagement device (e.g. a clip assembly, a slot assembly, a latchassembly, a pin assembly; not shown) that is configured to releasablyengage a complementary device that is incorporated into bracket assembly282.

Plumbing/control subsystem 20 may include manifold assembly 284 that maybe rigidly affixed to bracket assembly 282. Manifold assembly 284 may beconfigured to include a plurality of inlet ports 286, 288, 290, 292 thatare configured to releasably engage a pump orifice (e.g. pump orifices294, 296, 298, 300) incorporated into each of pump assemblies 270, 272,274, 276. When positioning product module 250 on bracket assembly 282,product module 250 may be moved in the direction of the arrow 302, thusallowing for inlet ports 286, 288, 290, 292 to releasably engage pumporifices 294, 296, 298, 300. Inlet ports 286, 288, 290, 292 and/or pumporifices 294, 296, 298, 300 may include one or more O-ring assemblies(not shown) to facilitate a leakproof seal.

Manifold assembly 284 may be configured to engage tubing bundle 304,which may be plumbed (either directly or indirectly) to nozzle 24. Asdiscussed above, high-volume ingredient subsystem 16 also providesfluids in the form of chilled carbonated water 164, chilled water 166and/or chilled high fructose corn syrup 168 (either directly orindirectly) to nozzle 24. Accordingly, as control logic subsystem 14 mayregulate (in this particular example) the specific quantities of e.g.chilled carbonated water 164, chilled water 166, chilled high fructosecorn syrup 168 and the quantities of the various micro ingredients (e.g.a first portion of a cola syrup, a second portion of a cola syrup, aroot beer syrup, and an iced tea syrup), control logic subsystem 14 mayaccurately control the makeup of beverage 28.

Referring also to FIGS. 4B & 4C and as discussed above, one or more ofpump assemblies 270, 272, 274, 276 may be a solenoid piston pumpassembly that provides a defined and consistent amount of fluid eachtime that one or more of pump assemblies 270, 272, 274, 276 areenergized by control logic subsystem 14 (via data bus 38). Further andas discussed above, control logic subsystem 14 may execute one or morecontrol processes 120 that may control the operation of beveragedispensing system 10. Accordingly, control logic subsystem 14 mayexecute a drive signal generation process 122 for generating drivesignal 306 that may be provided from control logic subsystem 14 to pumpassemblies 270, 272, 274, 276 via data bus 38.

As discussed above, once user 26 makes one or more selections, via userinterface subsystem 22, user interface subsystem 22 may provide theappropriate data signals (via data bus 32) to control logic subsystem14. Control logic subsystem 14 may process these data signals and mayretrieve (via data bus 34) one or more recipes chosen from plurality ofrecipes 36 maintained on storage subsystem 12. Upon retrieving therecipe(s) from storage subsystem 12, control logic subsystem 14 mayprocess the recipe(s) and provide the appropriate control signals (viadata bus 38) to e.g. high volume ingredient subsystem 16,micro-ingredient subsystem 18 and plumbing/control subsystem 20,resulting in the production of beverage 28 (which is dispensed intocontainer 30). Accordingly, the control signals received by pumpassemblies 270, 272, 274, 276 (via data bus 38) may define theparticular quantities of micro-ingredients to be included withinbeverage 28. Specifically, being that pump assemblies 270, 272, 274, 276(as discussed above) provide a defined and consistent amount of fluideach time that a pump assembly is energized, by controlling the amountof times that the pump assembly is energized, control logic subsystem 14may control the quantity of fluid (e.g., micro ingredients) includedwithin beverage 28.

When generating drive signal 306, drive signal generation process 122may define 308 a pulse width modulated (i.e., PWM) drive signal 320having a defined voltage potential. An example of such a defined voltagepotential is 28 VDC. PWM drive signal 320 may include a plurality of“on” portions (e.g., portions 322, 324, 326) and a plurality of “off”portions (e.g., portions 328, 330) that define a first duty cycle forregulating, at least in part, the flow rate of the pump assembly (e.g.,pump assemblies 270, 272, 274, 276). In this particular example, theduration of the “on” portion is “X” and the duration of the “off”portion is “Y”. A typical value for “X” may include but is not limitedto approximately 15 milliseconds. A typical value for “Y” may includebut is not limited to 15-185 milliseconds. Accordingly, examples of theduty cycle of PWM drive signal 320 may range from 50.0% (i.e., 15 ms/30ms) to 7.5% (i.e., 15 ms/200 ms). Accordingly, if a pump assembly (e.g.,pump assemblies 270, 272, 274, 276) requires 15 ms of energy to provide1.00 mL of the root beer syrup (as discussed above), a duty cycle of50.0% may result in the pump assembly having a flow rate of 33.33 mL persecond. However, adjusting the duty cycle down to 7.5% may result in thepump assembly having a flow rate of 5.00 mL per second. Accordingly. byvarying the duty cycle of PWM drive signal 320, the flow rate of thepump assembly (e.g., pump assemblies 270, 272, 274, 276) may be varied.

As some fluids are more viscous than other fluids, some fluids mayrequire additional energy when pumping. Accordingly, drive signalgeneration process 122 may pulse width modulate 310 at least a portionof the “on” portions of PWM drive signal 320 to define a second dutycycle for at least a portion of the “on” portions of PWM drive signal320, thus generating drive signal 306. As will be discussed below, thesecond duty cycle may regulate, at least in part, the percentage of thedefined voltage potential applied to the pump assembly.

For example, assume that a pump assembly (e.g., pump assemblies 270,272, 274, 276) is pumping a low viscosity fluid (e.g., vanilla extract).As discussed above, the amount of work that the pump assembly will berequired to perform is less than the amount of work required to pump amore viscous fluid (e.g., root beer syrup). Accordingly, drive signalgeneration process 122 may reduce the duty cycle of the “on” portion(e.g., “on” portion 322, 324, 326) to e.g., 50%, thus lowering theeffective voltage to approximately 14.0 VDC (i.e., 50% of the full 28.0VDC voltage potential). Alternatively, when pumping fluid having ahigher viscosity, the duty cycle of the “on” portion (e.g., “on” portion322, 324, 326) may be increased, thus raising the effective voltage tobetween 14.0 VDC and 28.0 VDC).

The duration of an “on” portion that results from the second pulse widthmodulation process may be substantially shorter than the duration of the“on” portion that results from the first pulse width modulation process.For example, assuming that “on” portion 324 has a duration of 15milliseconds, “on” portion 332 (which is within “on” portion 324) isshown in this illustrative example to have a duration of 15/16 of amillisecond.

Referring also to FIG. 5, a diagrammatic view of plumbing/controlsubsystem 20 is shown. While the plumbing/control subsystem describedbelow concerns the plumbing/control system used to control the quantityof chilled carbonated water 164 being added to beverage 28, this is forillustrative purposes only and is not intended to be a limitation ofthis disclosure, as other configurations are also possible. For example,the plumbing/control subsystem described below may also be used tocontrol e.g., the quantity of chilled water 166 and/or chilled highfructose corn syrup 168 being added to beverage 28.

As discussed above, plumbing/control subsystem 20 may include feedbackcontroller system 182 that receives flow feedback signal 176 from flowmeasuring device 170. Feedback controller system 182 may compare flowfeedback signal 176 to the desired flow volume (as defined by controllogic subsystem 14 via data bus 38). Upon processing flow feedbacksignal 176, feedback controller system 182 may generate flow controlsignal 188 that may be provided to variable line impedance 194.

Feedback controller system 182 may include trajectory shaping controller350, flow regulator 352, feed forward controller 354, unit delay 356,saturation controller 358, and stepper controller 360, each of whichwill be discussed below in greater detail.

Trajectory shaping controller 350 may be configured to receive a controlsignal from control logic subsystem 14 via data bus 38. This controlsignal may define a trajectory for the manner in which plumbing/controlsubsystem 20 is supposed to deliver fluid (in the case, chilledcarbonated water 164) for use in beverage 28. However, the trajectoryprovided by control logic subsystem 14 may need to be modified prior tobeing processed by e.g., flow controller 352. For example, controlsystems tend to have a difficult time processing control curves that aremade up of a plurality of linear line segments (i.e., that include stepchanges). For example, flow regulator 352 may have difficulty processingcontrol curve 370, as it consists of three distinct linear segments,namely segments 372, 374, 376. Accordingly, at the transition points(e.g., transition points 378, 380), flow controller 352 specifically(and plumbing/control subsystem 20 generally) would be required toinstantaneously change from a first flow rate to a second flow rate.Therefore, trajectory shaping controller 350 may filter control curve 30to form smoothed control curve 382 that is more easily processed by flowcontroller 352 specifically (and plumbing/control subsystem 20generally), as an instantaneous transition from a first flow rate to asecond flow rate is no longer required.

Additionally, trajectory shaping controller 350 may allow for thepre-fill wetting and post-fill rinsing of nozzle 20. Specifically, inthe event that nozzle 28 is pre-fill wetted with 10 mL of water prior toadding syrup and/or post-fill rinsed with 10 mL of water once the addingof syrup has stopped, trajectory shaping controller 350 may offset thewater added during the pre-fill wetting and/or post-fill rinsing byproviding an additional quantity of syrup during the fill process.Specifically, as container 30 is being filled with beverage 28, thepre-fill rinse water may result in beverage 28 being initiallyunder-sweetened. Trajectory shaping controller 350 may then add syrup ata higher-than-needed flow rate, resulting in beverage 30 transitioningfrom under-sweetened to appropriately-sweetened to over-sweetened.However, once the appropriate amount of syrup has been added, thepost-fill rinse process may add additional water, resulting in beverage28 once again becoming appropriately-sweetened.

Flow controller 352 may be configured as a proportional-integral (PI)loop controller. Flow controller 352 may perform the comparison andprocessing that was generally described above as being performed byfeedback controller system 182. For example, flow controller 352 may beconfigured to receive feedback signal 176 from flow measuring device170. Flow controller 352 may compare flow feedback signal 176 to thedesired flow volume (as defined by control logic subsystem 14 andmodified by trajectory shaping controller 350). Upon processing flowfeedback signal 176, flow controller 352 may generate flow controlsignal 188 that may be provided to variable line impedance 194.

Feed forward controller 354 may provide an “best guess” estimateconcerning what the initial position of variable line impedance 194should be. Specifically, assume that at a defined constant pressure,variable line impedance has a flow rate (for chilled carbonated water164) of between 0.00 mL/second and 120.00 mL/second. Further, assumethat a flow rate of 40 mL/second is desired when filing container 30with beverage 28. Accordingly, feed forward controller 354 may provide afeed forward signal (on feed forward line 384) that initially opensvariable line impedance 194 to 33.33% of its maximum opening (assumingthat variable line impedance 194 operates in a linear fashion).

When determining the value of the feed forward signal, feed forwardcontroller 354 may utilize a lookup table (not shown) that may bedeveloped empirically and may define the signal to be provided forvarious initial flow rates. An example of such a lookup table mayinclude, but is not limited to, the following table: Flowrate_(mL/second) Signal _(to stepper controller) 0 pulse to 0 degrees 20pulse to 30 degrees 40 pulse to 60 degrees 60 pulse to 150 degrees 80pulse to 240 degrees 100 pulse to 270 degrees 120 pulse to 300 degrees

Again, assuming that a flow rate of 40 mL/second is desired when filingcontainer 30 with beverage 28, feed forward controller 354 may utilizethe above-described lookup table and may pulse the stepper motor to 60.0degrees (using feed forward line 384).

Unit delay 356 may form a feedback path through which a previous versionof the control signal (provided to variable line impedance 194) isprovided to flow controller 352.

Saturation controller 358 may be configured to disable the integralcontrol of feedback controller system 182 (which, as discussed above,may be configured as a PI loop controller) whenever variable lineimpedance 194 is set to a maximum flow rate (by stepper controller 360),thus increasing the stability of the system by reducing flow rateovershoots and system oscillations.

Stepper controller 360 may be configured to convert the signal providedby saturation controller 358 (on line 386) into a signal usable byvariable line impedance 194. Variable line impedance 194 may include astepper motor for adjusting the orifice size (and, therefore, the flowrate) of variable line impedance 194. Accordingly, control signal 188may be configured to control the stepper motor included within variableline impedance.

Referring also to FIG. 6, a diagrammatic view of user interfacesubsystem 22 is shown. User interface subsystem 22 may include touchscreen interface 400 that allows user 26 to select various optionsconcerning beverage 28. For example, user 26 (via “drink size” column402) may be able to select the size of beverage 28. Examples of theselectable sizes may include but are not limited to: “12 ounce”; “16ounce”; “20 ounce”; “24 ounce”; “32 ounce”; and “48 ounce”.

User 26 may be able to select (via “drink type” column 404) the type ofbeverage 28. Examples of the selectable types may include but are notlimited to: “cola”; “lemon-lime”; “root beer”; “iced tea”; “lemonade”;and “fruit punch”.

User 26 may also be able to select (via “add-ins” column 406) one ormore flavorings/products for inclusion within beverage 28. Examples ofthe selectable add-ins may include but are not limited to: “cherryflavor”; “lemon flavor”; “lime flavor”; “chocolate flavor”; “coffeeflavor”; and “ice cream”.

Further, user 26 may be able to select (via “nutraceuticals” column 408)one or more nutraceuticals for inclusion within beverage 28. Examples ofsuch nutraceuticals may include but are not limited to: “Vitamin A”;“Vitamin B₆”; “Vitamin B₁₂”; “Vitamin C”; “Vitamin D”; and “Zinc”.

Once user 26 has made the appropriate selections, user 26 may select“GO!” button 410 and user interface subsystem 22 may provide theappropriate data signals (via data bus 32) to control logic subsystem14. Once received, control logic subsystem 14 may retrieve theappropriate data from storage subsystem 12 and may provide theappropriate control signals to e.g., high volume ingredient subsystem16, micro ingredient subsystem 18, and plumbing/control subsystem 20,which may be processed (in the manner discussed above) to preparebeverage 28. Alternatively, user 26 may select “Cancel” button 412 andtouch screen interface 400 may be reset to a default state (e.g., nobuttons selected).

User interface subsystem 22 may be configured to allow for bidirectionalcommunication with user 26. For example, user interface subsystem 22 mayinclude informational screen 414 that allows beverage dispensing system10 to provide information to user 26. Examples of the types ofinformation that may be provided to user 26 may include but is notlimited to advertisements, information concerning systemmalfunctions/warnings, and information concerning the cost of variousproducts.

All or a portion of the above-described pulse width modulatingtechniques may be used to maintain a constant velocity at a nozzle(e.g., nozzle 24). For example, the supply of high fructose corn syrupmay be pulse width modulated (using e.g., a variable line impedance or asolenoid valve) so that the high fructose corn syrup is injected intonozzle 24 in high-velocity bursts, thus resulting in a high level ofmixing between the high fructose corn syrup and the other components ofthe beverage.

While the system is described above as being utilized within a beveragedispensing system, this is for illustrative purposes only and is notintended to be a limitation of this disclosure, as other configurationsare possible. For example, the above-described system may be utilizedfor processing/dispensing other consumable products (e.g., ice cream andalcoholic drinks). Additionally, the above-described system may beutilized in areas outside of the food industry. For example, theabove-described system may be utilized for processing/dispensing:vitamins; pharmaceuticals; medical products, cleaning products;lubricants; painting/staining products; and other non-consumableliquids/semi-liquids/granular solids.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made. Accordingly, otherimplementations are within the scope of the following claims.

1. A method comprising: defining a PWM drive signal having a definedvoltage potential, wherein the PWM drive signal has a plurality of “on”portions and a plurality of “off” portions that define a first dutycycle for regulating, at least in part, a flow rate of a pump assembly;and pulse width modulating at least a portion of the “on” portions ofthe PWM drive signal to define a second duty cycle for the at least aportion of the “on” portions of the PWM drive signal, wherein the secondduty cycle regulates, at least in part, the percentage of the definedvoltage potential applied to the pump assembly.
 2. The method of claim 1wherein the pump assembly is a solenoid piston pump.
 3. The method ofclaim 1 wherein the pump assembly is configured for use within abeverage dispensing system.
 4. The method of claim 1 wherein the pumpassembly is configured to releasably engage a product container.
 5. Themethod of claim 1 wherein the pump assembly is rigidly attached to aproduct module assembly.
 6. The method of claim 1 wherein the definedvoltage potential is 28 VDC.
 7. The method of claim 1 wherein at leastone of the “on” portions of the PWM drive signal has a duration ofapproximately 15 milliseconds.
 8. The method of claim 1 wherein at leastone of the “off” portions of the PWM drive signal has a duration withina range of 15-185 milliseconds.
 9. The method of claim 1 wherein thesecond duty cycle is within a range of 50-100%.
 10. A computer programproduct residing on a computer readable medium having a plurality ofinstructions stored thereon which, when executed by a processor, causethe processor to perform operations comprising: defining a PWM drivesignal having a defined voltage potential, wherein the PWM drive signalhas a plurality of “on” portions and a plurality of “off” portions thatdefine a first duty cycle for regulating, at least in part, a flow rateof a pump assembly; and pulse width modulating at least a portion of the“on” portions of the PWM drive signal to define a second duty cycle forthe at least a portion of the “on” portions of the PWM drive signal,wherein the second duty cycle regulates, at least in part, thepercentage of the defined voltage potential applied to the pumpassembly.
 11. The computer program product of claim 10 wherein the pumpassembly is a solenoid piston pump.
 12. The computer program product ofclaim 10 wherein the pump assembly is configured for use within abeverage dispensing system.
 13. The computer program product of claim 10wherein at least one of the “on” portions of the PWM drive signal has aduration of approximately 15 milliseconds.
 14. The computer programproduct of claim 10 wherein at least one of the “off” portions of thePWM drive signal has a duration within a range of 15-185 milliseconds.15. The computer program product of claim 10 wherein the second dutycycle is within a range of 50-100%.
 16. A method comprising: defining aPWM drive signal having a defined voltage potential, wherein the PWMdrive signal has a plurality of “on” portions and a plurality of “off”portions that define a first duty cycle for regulating, at least inpart, a flow rate of a pump assembly included within a beveragedispensing system; and pulse width modulating at least a portion of the“on” portions of the PWM drive signal to define a second duty cycle forthe at least a portion of the “on” portions of the PWM drive signal,wherein the second duty cycle regulates, at least in part, thepercentage of the defined voltage potential applied to the pumpassembly.
 17. The method of claim 16 wherein the pump assembly is asolenoid piston pump.
 18. The method of claim 16 wherein the pumpassembly is configured to releasably engage a product container.
 19. Themethod of claim 16 wherein the pump assembly is rigidly attached to aproduct module assembly.
 20. The method of claim 16 wherein: at leastone of the “on” portions of the PWM drive signal has a duration ofapproximately 15 milliseconds; at least one of the “off” portions of thePWM drive signal has a duration within a range of 15-185 milliseconds;and the second duty cycle is within a range of 50-100%.